<?php
class News extends Eloquent
{
    //public $includes = array('user');

    public function user()
    {
        return $this->belongs_to('User');
    }

    public static function view()
    {

    }

    /** Kiểm tra người dùng đang đăng nhập hiện tại có phải là chủ bài viết hay không
     * @return bool
     **/
    public function get_logged_is_owner()
    {
        return MyAuth::check() && MyAuth::user()->id === $this->user_id;
    }

    /*** get/set attributes ***/

    /**
     * tin-tuc/id/slug.html
     * @return string
     */
    public function get_friendly_url()
    {
        $id = $this->get_attribute('id');
        $slug = $this->get_attribute('title');

        if (function_exists('slug')) {
            $slug = slug($slug);
        }
        $slug = Str::slug($slug);
        return asset("tin-tuc/$id/$slug.html");
    }

    /**
     * Trả về đường dẫn ảnh thumbnail (nếu không bắt đầu bằng http(s) thì ảnh ở img/thumbs
     * @return mixed|string
     */
    public function get_thumbnail()
    {
        $url = $this->get_attribute('thumbnail');
        if (!preg_match('/^https?:\/\//i', $url)) {
            $url = asset('img/thumbs/' . $url);
        }

        return $url;
    }

    public function get_author_name()
    {
        return $this->user->display_name;
    }

    public function get_body_html()
    {
        $body = e($this->get_attribute('body'));
        if (function_exists('markdown')) {
            $body =  Markdown($body);
        }

        return $body;
    }

    public function get_title()
    {
        return e($this->get_attribute('title'));
    }

    public function get_brief()
    {
        return e($this->get_attribute('brief'));
    }


    public function get_raw_body()
    {
        return $this->get_attribute('body');
    }


    public function get_updated()
    {
        return date('d/m/Y (H:i:s)', strtotime($this->get_attribute('updated_at')));
    }


}